#ifndef PREY_H
#define PREY_H

#include "Entity/BaseEntity.h"
#include "State/StateMachine.h"

//todo: can we abstract predator/prey into a template so we can reuse some of this
class Prey :
	public BaseEntity
{
private:
	StateMachine<Prey>* m_stateMachine;

	//todo: can't use state singletons for reasons like these
	AITypes::EntityID m_currentPredatorID;
public:
	Prey();
	virtual ~Prey();

	void Update();
	bool HandleMessage(const Message& message);
	std::string GetEnityName();

	StateMachine<Prey>* GetStateMachine() const;

	AITypes::EntityID GetCurrentPredatorID() const;
	void SetCurrentPredatorID(AITypes::EntityID id);
};

#endif

